package com.zxw.设计模式.结构型.代理模式.JDK代理.动态代理;

import com.zxw.设计模式.结构型.代理模式.JDK代理.动态代理.proxy.ProxyFactory;
import com.zxw.设计模式.结构型.代理模式.JDK代理.动态代理.service.IUserService;
import com.zxw.设计模式.结构型.代理模式.JDK代理.动态代理.service.impl.UserServiceImpl;

/**
 * @projectName: util-cloud
 * @package: com.zxw.设计模式.结构型.代理模式.JDK代理.动态代理.proxy
 * @className: DynamicProxyTest
 * @author: zhangxuewei
 * @description: TODO
 * @date: 2023/6/17 11:16
 * @version: 1.0
 */
public class DynamicProxyTest {

    public static void main(String[] args) {
        IUserService target = new UserServiceImpl();
        System.out.println(target.getClass());// 目标对象信息
        IUserService proxy = (IUserService) new ProxyFactory(target).getProxyInstance();
        System.out.println(proxy.getClass());// 代理对象信息
//        String name = proxy.save();
//        System.out.println(name);
        Integer version = proxy.update(2);
        System.out.println(version);
    }

}
